-----------------------------------------------------------------------
-- File:        Dio192_Blocks.ads
-- Description: Provides an interface to the low level hardware control
--		    of blocks, it sets the Cab and polarity of a block,
--              it init blocks and flips the polarity of a block.
--
-- Requires:    Io_Ports,Unsigned_Types,Raildefs,Dio192defs, Dda06defs,
--              Int32defs
--
--				
-- Author:     Maria Mitrevska
-----------------------------------------------------------------------
with Io_Ports;
with Unsigned_Types;
use Unsigned_Types;  -- 1.8
with Raildefs,
   Dio192defs, Dda06defs, Int32defs, Halls2;
use Raildefs;


package Dio192_Blocks is --PROTECTED

   --Set Cab of a block
   procedure Set_Cab (
         B   : in     Raildefs.Block_Id;
         Cab : in     Raildefs.Cab_Type);

   --Set polarity of a block
   procedure Set_Polarity (
         B   : in     Raildefs.Block_Id;
         Pol : in     Raildefs.Polarity_Type);

   --Flip polarity of a block
   procedure Flip_Block (
         B : in     Raildefs.Block_Id);

   --Init registers
   procedure Init_Blocks;

end Dio192_Blocks;